On the Structure of Crosscutting Concerns: Using Aspects or Collaborations?
نویسندگان
چکیده
While it is well known that crosscutting concerns occur in many software projects, little is known about the inherent properties of these concerns nor how aspects (should) deal with them. We present a framework for classifying the structural properties of crosscutting concerns into (1) those that benefit from AOP and (2) those that should be implemented by OOP mechanisms. Further, we propose a set of code metrics to perform this classification. Applying them to a case study is a first to step toward revealing the current practice of AOP.
منابع مشابه
Mapping Use Case Level Aspects to ObjectTeams/Java
Aspect-Oriented Software Development aims at supporting separation of crosscutting concerns throughout the full software lifecycle. In this contribution we focus on lifecycle support for crosscutting concerns with internal structure and complex behaviour. In order to make transitions between phases more seamless, support for such concerns is needed in all phases. In the past the programming lan...
متن کاملObject Teams: Improving Modularity for Crosscutting Collaborations
In this paper, we investigate whether module concepts for capturing multi-object collaborations can be effectively used to implement crosscutting concerns in reusable, independently developed modules for a-posteriori integration into existing systems. A new kind of collaboration module, called Object Teams, is proposed which combines the best features of existing approaches, further enhances th...
متن کاملImproving Software Modularity through Crosscutting Concern Extraction
Aspect-oriented programming (AOP) is a programming paradigm for improving the modularity of software systems by localizing crosscutting concerns in the system into aspects. Aspect-oriented refactorings extend AOP to legacy systems, by identifying and encapsulating existing crosscutting concerns through aspect-mining (discovery of crosscutting concerns) and aspect refactoring (semantic-preservin...
متن کاملAn Aspect-Oriented Language Based on Product Family Algebra: Aspects Specification and Verification∗
Aspect-orientation is a promising paradigm for managing the separation of crosscutting concerns and decomposing a system using more than one criterion. This paper proposes an aspect-oriented approach at the feature-modeling level to better handle crosscutting concerns in product families. The implementation of some features of a product family can be inherently scattered over several features o...
متن کاملHierarchical Clustering for Identifying Crosscutting Concerns in Object Oriented Software Systems
Crosscutting concerns are parts of a program that affect or crosscut other concerns. Usually these concerns cannot be cleanly decomposed from the rest of the system, and they are mixed with many core concerns from the system leading to code scattering and code tangling, and, also, to systems that are hard to explore and understand. Identifying crosscutting concerns automatically improves both t...
متن کامل